/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package num7;

import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author KDC
 */
public class LeXML {
    
    
    
    public ArrayList ler(String arquivo) {

        FileReader reader = null;
        try {
            //carrega o arquivo XML para um objeto reader
            reader = new FileReader(arquivo);
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        }
        //Cria o objeto xstream
        XStream xStream = new XStream(new DomDriver());
        //informamos as tags que serão lidas, da mesma forma como foi feita no GravandoXML
        xStream.alias("contatos", List.class);
        xStream.alias("contato", ListaModel.class);
        //cria uma lista de contatos, contendo todos os dados do xml
        List contatos = (List) xStream.fromXML(reader);
        ArrayList array = new ArrayList();
        array = (ArrayList) contatos;
        return array;
    }
    
//    public void gravar(List<Contatos> contatos) {
//        XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
//
//        xStream.alias("contatos", List.class);
//        xStream.alias("contato", ListaModel.class);
//
//        File arquivo = new File("ContatosAtualizados.xml");
//        FileOutputStream gravar;
//        try {
//            gravar = new FileOutputStream(arquivo);
//            gravar.write(xStream.toXML(contatos).getBytes());
//            gravar.close();
//        } catch (IOException ex) {
//            ex.printStackTrace();
//        }
//    }
}
